/****************************************************************
 * Fulguro
 * Copyright (C) 2004 Christophe Clienti
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 ***************************************************************/

#ifdef __cplusplus
extern "C" {
#endif


#ifndef __FLGR_CORE_ARITH_VECTOR_H
#define __FLGR_CORE_ARITH_VECTOR_H

#include <flgrCoreDll.h>
#include <flgrCoreTypes.h>
#include <flgrCoreErrors.h>
#include <flgrCoreVector.h>


  EXPORT_LIB FLGR_Ret flgr_vector_inf(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_sup(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_add(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_sub(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_mult(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_div(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_addsat(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_subsat(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_multsat(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_atan2(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB FLGR_Ret flgr_vector_abs(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_cos(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_sin(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_tan(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_asin(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_acos(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_atan(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_floor(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_ceil(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_square(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_sqrt(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB FLGR_Ret flgr_vector_logb(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_powb(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB FLGR_Ret flgr_vector_not(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB FLGR_Ret flgr_vector_and(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_or(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_xor(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_nand(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_nor(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB FLGR_Ret flgr_vector_cmp_ne(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_cmp_eq(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_cmp_ge(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_cmp_le(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_cmp_gt(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB FLGR_Ret flgr_vector_cmp_lt(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB FLGR_Ret flgr_vector_cmove(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct); 




  EXPORT_LIB void flgr_vector_inf_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_inf_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_sup_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sup_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_nand_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nand_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_and_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_and_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_or_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_or_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_nor_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nor_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_xor_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_xor_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_nxor_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_nxor_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_add_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_add_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_sub_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_sub_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_mult_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_mult_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_div_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_div_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_addsat_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_addsat_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_subsat_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_subsat_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_multsat_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_multsat_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_atan2_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgFLOAT32(FLGR_Vector *vctdest,FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_atan2_fgFLOAT64(FLGR_Vector *vctdest,FLGR_Vector *vct1,FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_logb_fgBIT(FLGR_Vector *vctdest,FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_logb_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_powb_fgBIT(FLGR_Vector *vctdest,FLGR_Vector *vct1,FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_powb_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1,  FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_not_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_not_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_invert_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_invert_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_abs_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_abs_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_cos_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cos_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_sin_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sin_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_tan_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_tan_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_acos_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_acos_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_asin_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_asin_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_atan_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_atan_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_floor_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_floor_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_square_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_square_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_sqrt_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_sqrt_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1);

  EXPORT_LIB void flgr_vector_cmp_ne_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ne_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_cmp_eq_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_eq_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_cmp_gt_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_gt_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_cmp_lt_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_lt_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_cmp_le_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_le_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_cmp_ge_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);
  EXPORT_LIB void flgr_vector_cmp_ge_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vct1, FLGR_Vector *vct2);

  EXPORT_LIB void flgr_vector_cmove_fgBIT(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgUINT8(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgUINT16(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgUINT32(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgUINT64(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgINT8(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgINT16(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgINT32(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgINT64(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgFLOAT32(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);
  EXPORT_LIB void flgr_vector_cmove_fgFLOAT64(FLGR_Vector *vctdest, FLGR_Vector *vctcmp, FLGR_Vector *vct1);








#endif

#ifdef __cplusplus
}
#endif

